Template cleanup#69
Conversation
There was a problem hiding this comment.
Pull request overview
This PR expands and standardizes the repository’s compliance/template infrastructure by adding an OTS qualification test project, restructuring ReqStream/verification/design documentation to include explicit OTS integration artifacts, and introducing a template-sync agent for auditing/synchronizing repo files against the canonical template.
Changes:
- Added a new
test/OtsSoftwareTestsproject with integration tests for key OTS runtime libraries (YamlDotNet, PDFsharp, FileSystemGlobbing, DemaConsulting.TestResults) and wired it into the solution and requirements/verification docs. - Restructured ReqStream requirements trees (flattened subsystem entrypoints, added new OTS requirement files) and updated corresponding design/verification documentation.
- Introduced
.github/agents/template-sync.agent.mdand refined multiple standards/config files (markdownlint, yamllint, cspell, agent checklists) plus some test naming/behavior tightening.
Reviewed changes
Copilot reviewed 140 out of 140 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| test/OtsSoftwareTests/YamlDotNetTests.cs | Adds OTS integration tests for YamlDotNet deserialization behavior |
| test/OtsSoftwareTests/PDFsharpTests.cs | Adds OTS integration tests for PDFsharp metadata import behavior |
| test/OtsSoftwareTests/OtsSoftwareTests.csproj | New multi-targeted OTS test project definition + dependencies |
| test/OtsSoftwareTests/MicrosoftExtensionsFileSystemGlobbingTests.cs | Adds OTS tests for globbing include/exclude behavior |
| test/OtsSoftwareTests/DemaConsultingTestResultsTests.cs | Adds OTS tests for TRX/JUnit serialization library behavior |
| test/OtsSoftwareTests/AssemblyInfo.cs | Disables parallel test execution for OTS test assembly |
| test/DemaConsulting.ReviewMark.Tests/SelfTest/SelfTestTests.cs | Renames SelfTest test methods for clearer intent |
| test/DemaConsulting.ReviewMark.Tests/ProgramTests.cs | Adds console test collection + new “no issues” behavior test |
| test/DemaConsulting.ReviewMark.Tests/Indexing/PathHelpersTests.cs | Splits absolute-path tests and adds Windows-only skip logic |
| test/DemaConsulting.ReviewMark.Tests/Indexing/IndexTests.cs | Minor assertion refinement (Count vs Count()) |
| test/DemaConsulting.ReviewMark.Tests/Indexing/IndexingTests.cs | Adds missing-file/malformed-JSON load failure tests |
| test/DemaConsulting.ReviewMark.Tests/Configuration/ConfigurationTests.cs | Renames a configuration elaboration test for consistency |
| test/DemaConsulting.ReviewMark.Tests/Cli/CliTests.cs | Tightens exit code + stderr expectations; adds depth range tests |
| src/DemaConsulting.ReviewMark/SelfTest/Validation.cs | Documents null-context behavior and exception contract |
| src/DemaConsulting.ReviewMark/Indexing/ReviewIndex.cs | Documents immutability/thread-safety; refines JSON error exceptions |
| src/DemaConsulting.ReviewMark/Configuration/ReviewMarkConfiguration.cs | Refines exception documentation for directory arguments |
| src/DemaConsulting.ReviewMark/Configuration/GlobMatcher.cs | Expands design rationale in XML docs (ordering, dedup) |
| src/DemaConsulting.ReviewMark/Cli/Context.cs | Documents log-file open failure as InvalidOperationException |
| SECURITY.md | Copy edits/formatting improvements (but introduces BOM) |
| requirements.yaml | Updates included requirement file paths + adds OTS requirement includes |
| README.md | Expanded usage/build sections and clarified overview (but introduces BOM) |
| docs/verification/title.txt | Updates verification doc metadata (including date/keywords) |
| docs/verification/review-mark/self-test/validation.md | Reworks Validation verification content into standardized format |
| docs/verification/review-mark/self-test.md | Reworks SelfTest verification content into standardized format |
| docs/verification/review-mark/configuration.md | Reworks Configuration verification content into standardized format |
| docs/verification/ots/yamldotnet.md | New OTS verification page for YamlDotNet |
| docs/verification/ots/xunit.md | Rewrites xUnit verification page into standardized scenario format |
| docs/verification/ots/weasyprint.md | Rewrites WeasyPrint verification page into standardized scenario format |
| docs/verification/ots/versionmark.md | Rewrites VersionMark verification page and refines requirement mapping |
| docs/verification/ots/sonarmark.md | Rewrites SonarMark verification page into standardized scenario format |
| docs/verification/ots/sarifmark.md | Rewrites SarifMark verification page into standardized scenario format |
| docs/verification/ots/reviewmark.md | Rewrites ReviewMark (tool) verification page and requirement mapping |
| docs/verification/ots/reqstream.md | Rewrites ReqStream verification page into standardized scenario format |
| docs/verification/ots/pdfsharp.md | New OTS verification page for PDFsharp |
| docs/verification/ots/pandoc.md | Rewrites Pandoc verification page and updates requirement ID usage |
| docs/verification/ots/microsoft-extensions-file-system-globbing.md | New OTS verification page for FileSystemGlobbing |
| docs/verification/ots/fileassert.md | Rewrites FileAssert verification page and updates requirement wording |
| docs/verification/ots/dema-consulting-test-results.md | New OTS verification page for DemaConsulting.TestResults |
| docs/verification/ots/buildmark.md | Rewrites BuildMark verification page and updates requirement ID usage |
| docs/verification/ots.md | Replaces OTS overview with clearer strategy/evidence/regression sections |
| docs/verification/definition.yaml | Adds new OTS verification inputs to Pandoc collection definition |
| docs/user_guide/title.txt | Updates user guide metadata/keywords |
| docs/requirements_report/title.txt | Updates trace matrix metadata/keywords |
| docs/requirements_report/introduction.md | Rewrites intro to be clearer and adds references |
| docs/requirements_report/definition.yaml | Simplifies resource-path and annotates generated inputs |
| docs/requirements_doc/title.txt | Updates requirements document metadata/keywords |
| docs/requirements_doc/introduction.md | Simplifies intro and reframes scope/references |
| docs/requirements_doc/definition.yaml | Simplifies resource-path and annotates generated inputs |
| docs/reqstream/review-mark/self-test/validation.yaml | Restructures Validation unit requirements under nested sections |
| docs/reqstream/review-mark/self-test/self-test.yaml | Removes older SelfTest subsystem requirements file (replaced by new root) |
| docs/reqstream/review-mark/self-test.yaml | New consolidated SelfTest subsystem requirements file |
| docs/reqstream/review-mark/indexing/path-helpers.yaml | Restructures PathHelpers requirements and splits safe-combine vs rejection |
| docs/reqstream/review-mark/indexing/indexing.yaml | Removes older Indexing subsystem requirements file (replaced by new root) |
| docs/reqstream/review-mark/indexing.yaml | New consolidated Indexing subsystem requirements file |
| docs/reqstream/review-mark/configuration/glob-matcher.yaml | Restructures GlobMatcher requirements under nested sections |
| docs/reqstream/review-mark/configuration/configuration.yaml | Removes older Configuration subsystem requirements file (replaced by new root) |
| docs/reqstream/review-mark/configuration.yaml | New consolidated Configuration subsystem requirements file |
| docs/reqstream/ots/yamldotnet.yaml | New OTS requirements for YamlDotNet |
| docs/reqstream/ots/xunit.yaml | Minor header cleanup for xUnit OTS requirements |
| docs/reqstream/ots/weasyprint.yaml | Minor header cleanup for WeasyPrint OTS requirements |
| docs/reqstream/ots/versionmark.yaml | Splits VersionMark requirements into capture vs report generation |
| docs/reqstream/ots/sonarmark.yaml | Minor header cleanup for SonarMark OTS requirements |
| docs/reqstream/ots/sarifmark.yaml | Minor header cleanup for SarifMark OTS requirements |
| docs/reqstream/ots/reviewmark.yaml | Adjusts ReviewMark OTS requirement IDs/test mappings; spelling fixes |
| docs/reqstream/ots/reqstream.yaml | Minor header cleanup for ReqStream OTS requirements |
| docs/reqstream/ots/pdfsharp.yaml | New OTS requirements for PDFsharp |
| docs/reqstream/ots/pandoc.yaml | Renames Pandoc requirement ID and tightens requirement wording |
| docs/reqstream/ots/microsoft-extensions-file-system-globbing.yaml | New OTS requirements for FileSystemGlobbing |
| docs/reqstream/ots/fileassert.yaml | Header cleanup + slight wording change for FileAssert requirement |
| docs/reqstream/ots/dema-consulting-test-results.yaml | New OTS requirements for DemaConsulting.TestResults |
| docs/reqstream/ots/buildmark.yaml | Renames BuildMark requirement ID to a more semantic name |
| docs/design/title.txt | Updates design doc metadata/keywords |
| docs/design/review-mark/self-test/validation.md | Reworks Validation unit design to standardized structure |
| docs/design/review-mark/self-test.md | Reworks SelfTest subsystem design to standardized structure |
| docs/design/review-mark/indexing/path-helpers.md | Reworks PathHelpers unit design to standardized structure |
| docs/design/review-mark/configuration/glob-matcher.md | Reworks GlobMatcher design to standardized structure |
| docs/design/review-mark/configuration.md | Reworks Configuration subsystem design to standardized structure |
| docs/design/review-mark/cli.md | Reworks Cli subsystem design to standardized structure |
| docs/design/ots/yamldotnet.md | New OTS integration design doc for YamlDotNet |
| docs/design/ots/pdfsharp.md | New OTS integration design doc for PDFsharp |
| docs/design/ots/microsoft-extensions-file-system-globbing.md | New OTS integration design doc for FileSystemGlobbing |
| docs/design/ots/dema-consulting-test-results.md | New OTS integration design doc for DemaConsulting.TestResults |
| docs/design/ots.md | New OTS integration strategy overview |
| docs/design/introduction.md | Updates artifact map + adds OTS docs structure references |
| docs/design/definition.yaml | Simplifies resource-path and adds OTS design inputs |
| docs/code_review_report/title.txt | Updates metadata/keywords |
| docs/code_review_report/introduction.md | Rewrites intro/purpose/scope and adds references |
| docs/code_review_report/definition.yaml | Annotates generated input file purpose |
| docs/code_review_plan/title.txt | Updates metadata/keywords |
| docs/code_review_plan/introduction.md | Rewrites intro/purpose/scope and adds references |
| docs/code_review_plan/definition.yaml | Simplifies resource-path and annotates generated input purpose |
| docs/code_quality/title.txt | Updates metadata/keywords |
| docs/code_quality/introduction.md | Rewrites intro/scope and adds references |
| docs/build_notes/title.txt | Updates metadata/keywords |
| docs/build_notes/introduction.md | Rewrites intro/purpose/scope and adds references |
| docs/build_notes/definition.yaml | Annotates generated inputs (BuildMark + VersionMark) |
| DemaConsulting.ReviewMark.slnx | Adds the new OtsSoftwareTests project to the solution |
| CONTRIBUTING.md | Updates testing framework guidance to xUnit v3 (but introduces BOM) |
| AGENTS.md | Updates agent/project metadata and adds template reference + new agent types |
| .yamllint.yaml | Updates yamllint rules (truthy handling, disables line-length rule) |
| .reviewmark.yaml | Updates review-set paths and adds new OTS review-sets + OTS design/verification coverage |
| .markdownlint-cli2.yaml | Restructures markdownlint config + expands ignore globs |
| .github/standards/technical-documentation.md | Clarifies generated/ folder is not committed |
| .github/standards/software-items.md | Adds Shared Package category and updates OTS artifact expectations |
| .github/standards/reviewmark-usage.md | Updates review-set guidance for OTS/Shared Package and adds structure checks |
| .github/standards/reqstream-usage.md | Updates requirements hierarchy guidance + adds Shared Package root section |
| .github/agents/template-sync.agent.md | Adds new template synchronization agent spec |
| .github/agents/software-architect.agent.md | Updates vocabulary list to include Shared Package |
| .github/agents/quality.agent.md | Refines compliance checklist to be more actionable and adds structure section |
| .github/agents/developer.agent.md | Adds pre-flight step to check template counterparts for new files |
| .cspell.yaml | Updates project dictionary + ignorePaths formatting |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Agent-Logs-Url: https://github.com/demaconsulting/ReviewMark/sessions/7d0be210-84ac-42f0-be02-376f60143543 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
|
@copilot The CI build failed with: File 'D:\a\ReviewMark\ReviewMark\docs/generated/ReviewMark Software Verification Design.pdf' PDF metadata 'Subject' does not contain 'Verification design document' When resolving the correct metadata, use the template repo/files to determine the correct pattern. |
…pattern Agent-Logs-Url: https://github.com/demaconsulting/ReviewMark/sessions/e3ddda55-7ec5-455b-b31e-321121813f7a Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Fixed in f4a5cca. I updated the verification PDF Subject assertion to match the template metadata pattern ( Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot Got another CI build failure: File 'D:\a\ReviewMark\ReviewMark\docs/generated/ReviewMark User Guide.pdf' PDF metadata 'Subject' does not contain 'File-Review Evidence Management' This is the fourth one in a row - fix it and also explain why you haven't been able to fix ALL of them in one go. |
Agent-Logs-Url: https://github.com/demaconsulting/ReviewMark/sessions/f025d561-3a05-42c0-840a-4aeaf37e7c55 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Addressed in 9eeb960. I updated the User Guide PDF Subject assertion to |
|
@copilot It's still failing: File 'D:\a\ReviewMark\ReviewMark\docs/generated/ReviewMark Trace Matrix.pdf' PDF metadata 'Subject' does not contain 'Traceability' You promised you'd reviewed them all - how did this slip your review? |
Agent-Logs-Url: https://github.com/demaconsulting/ReviewMark/sessions/032ae459-6313-4efa-bff8-27e83186c3a7 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Fixed in 1e77262 by updating the Trace Matrix PDF Subject assertion to |
This pull request introduces a new agent for template synchronization, updates agent standards and compliance checklists, and makes small improvements to spelling and project-specific vocabulary. The most significant change is the addition of the
template-syncagent, which provides robust support for auditing and synchronizing repository files against a canonical template. Additionally, the standards and compliance documentation for agents have been clarified and made more actionable.New Agent Functionality
.github/agents/template-sync.agent.md, introducing a Template Sync Agent that supports four modes (Audit, Sync, Scaffold, Recreate) for aligning repository files with a template, including detailed orchestration and reporting procedures.Standards and Compliance Documentation Improvements
.github/agents/quality.agent.mdto clarify and streamline compliance checklists, add a new Repository Structure Compliance section, and improve requirements for traceability, categorization, and documentation integration..github/agents/software-architect.agent.mdto include "Shared Package" in the standard software item vocabulary..github/agents/developer.agent.mdpre-flight verification steps to ensure new files are based on template counterparts when available.Spelling and Vocabulary Adjustments
.cspell.yamlto add and remove various technical terms, and standardized YAML formatting and ignored paths. [1] [2]